<?php

namespace App\Admin\Controllers;

use App\Http\Controllers\Controller;
use App\Models\Goods;
use App\Models\IndexCard;
use App\Models\IndexUsers;
use App\Models\Orders;
use App\Models\System;
use App\Models\Users;
use Carbon\Carbon;
use Encore\Admin\Controllers\Dashboard;
use Encore\Admin\Layout\Column;
use Encore\Admin\Layout\Content;
use Encore\Admin\Layout\Row;
use Encore\Admin\Widgets\Box;
use Encore\Admin\Widgets\Collapse;
use Encore\Admin\Widgets\InfoBox;
use Illuminate\Support\Facades\DB;

class HomeController extends Controller
{
    public function index(Content $content)
    {
        return $content
            ->title('首页')
            ->row(function (Row $row) {
                // 方法调用
                $row->column(3, function (Column $column) {
                    $column->append($this->userCount());
                });
                $row->column(3, function (Column $column) {
                    $column->append($this->orderCount());
                });
                $row->column(3, function (Column $column) {
                    $column->append($this->goodsCount());
                });
                $row->column(3, function (Column $column) {
                    $column->append($this->orderWait());
                });
            });
    }

    // 组件方法
    public function collapseTest()
    {
        $collapse = new Collapse();
        $collapse->add('标题', '这是一些信息');
        $collapse->add('内容', '<h2>111111</h2>');
        return $collapse->render();
    }

    // 用户总数
    public function userCount()
    {
        // 参数1为标题 参数2为图标 参数3为颜色 参数4为跳转链接 参数5为数据
        $infoBox = new InfoBox('用户总人数', 'users', 'aqua', '/system/srswkj/admin/users', Users::count());
        return $infoBox->render();
    }
    //商品总数
    public function goodsCount()
    {
        // 参数1为标题 参数2为图标 参数3为颜色 参数4为跳转链接 参数5为数据
        $infoBox = new InfoBox('商品总数', 'users', 'yellow', '/system/srswkj/admin/goods', Goods::count());
        return $infoBox->render();
    }

     //订单总数
    public function orderCount()
    {
        // 参数1为标题 参数2为图标 参数3为颜色 参数4为跳转链接 参数5为数据
        $infoBox = new InfoBox('订单总数', 'users', 'green', '/system/srswkj/admin/orders', Orders::count());
        return $infoBox->render();
    }

    //待发货总数
    public function orderWait()
    {
        // 参数1为标题 参数2为图标 参数3为颜色 参数4为跳转链接 参数5为数据
        $infoBox = new InfoBox('订单待发货总数', 'users', 'red', '/system/srswkj/admin/orders', Orders::where('status', 2)->count());
        return $infoBox->render();
    }

}
